package Semaforo;

/** Clase Semaforo.
  * Metodos: Wait, Signal (, e Init que es llamado desde el Constructor pasando el valor inicial del semáforo)
  * Semáforo FIFO basado en API de java version 1.5
  * Fecha: Noviembre 2007
  */
import java.util.concurrent.Semaphore;

public class Semaforo {
  private Semaphore s;

  // Constructor
  public Semaforo(int v) {
    s = new Semaphore(v, true);
  } // Constructor

  // Operacion Wait
  public void Wait() { 
    try {
      s.acquire();
    } catch (InterruptedException e) { } 
  } // Wait

  // Operacion Signal
  public void Signal() { s.release(); }
} // Semaforo
